package com.zwps.biz.domain.converter;

import com.zwps.biz.dal.db.object.FileRecordBizDO;
import com.zwps.biz.dal.db.object.FileRecordDO;
import com.zwps.biz.api.model.dto.file.record.AddFileRecordDTO;
import com.zwps.biz.api.model.vo.file.FileUploadInfoVO;
import com.zwps.biz.api.model.vo.file.record.FileRecordVO;
import com.zwps.biz.api.model.vo.file.record.FileVO;
import com.zwps.biz.api.model.vo.file.record.biz.FileRecordBizVO;
import com.zwps.biz.api.model.vo.file.record.biz.SelectFileRecordBizPageVO;

import java.util.List;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

@Mapper
public interface FileRecordConverter {

    FileRecordConverter INSTANCE = Mappers.getMapper(FileRecordConverter.class);

    FileUploadInfoVO toFileUploadInfoVO(FileRecordDO record);

    List<FileRecordVO> toFileUploadInfoVO(List<FileRecordDO> record);

    List<FileRecordBizVO> toFileRecordBizVO(List<FileRecordBizDO> list);

    FileVO toFileVO(FileRecordDO fileRecordDO);

    List<SelectFileRecordBizPageVO> toSelectFileRecordBizPageVO(List<FileRecordBizDO> list);

    FileRecordDO toFileRecordDO(AddFileRecordDTO dto);

    List<FileVO> toFileVOList(List<FileRecordDO> record);

}
